#!/bin/bash  
  
# 定义一个函数来清理日志并打印大小  
function cleanup_log {  
    local log_path="$1"  
    if [ -f "$log_path" ]; then  
        echo "Current size of $log_path: $(stat -c%s "$log_path")"  
        # 使用 > 来清空文件，但请注意这可能会改变文件的权限和所有权  
        # 另一个选项是使用 truncate -s 0 "$log_path"  
        > "$log_path"  
        echo "Size of $log_path after truncation: $(stat -c%s "$log_path")"  
    else  
        echo "Log path $log_path does not exist."  
    fi  
}  
  
# 搜索配置文件  
find /etc/rsyslog.conf /etc/rsyslog.d/ -type f -exec grep -Eho '[^#;]\s*/var/log/[^/]*messages[^/]*' {} + | sort -u | while read log_path; do  
    # 清理日志并打印大小  
    cleanup_log "$log_path"  
done  
  
